{
  "GL_RG8_SNORM": {
    "R8G8_SNORM": {
      "GL_BYTE": "LoadToNative<GLbyte, 2>"
    }
  },
  "GL_SRGB8": {
    "R8G8B8A8_UNORM_SRGB": {
      "GL_UNSIGNED_BYTE": "LoadToNative3To4<GLubyte, 0xFF>"
    }
  },
  "GL_RGBA8I": {
    "R8G8B8A8_SINT": {
      "GL_BYTE": "LoadToNative<GLbyte, 4>"
    }
  },
  "GL_R8_SNORM": {
    "R8_SNORM": {
      "GL_BYTE": "LoadToNative<GLbyte, 1>"
    }
  },
  "GL_RGBA8_SNORM": {
    "R8G8B8A8_SNORM": {
      "GL_BYTE": "LoadToNative<GLbyte, 4>"
    }
  },
  "GL_R16I": {
    "R16_SINT": {
      "GL_SHORT": "LoadToNative<GLshort, 1>"
    }
  },
  "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC": {
    "R8G8B8A8_UNORM_SRGB": {
      "GL_UNSIGNED_BYTE": "LoadETC2SRGBA8ToSRGBA8"
    }
  },
  "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadETC2RGB8A1ToRGBA8"
    }
  },
  "GL_RGB32UI": {
    "R32G32B32A32_UINT": {
      "GL_UNSIGNED_INT": "LoadToNative3To4<GLuint, 0x00000001>"
    }
  },
  "GL_ALPHA32F_EXT": {
    "NONE": {
      "GL_FLOAT": "LoadA32FToRGBA32F"
    }
  },
  "GL_R16UI": {
    "R16_UINT": {
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 1>"
    }
  },
  "GL_RGB9_E5": {
    "R9G9B9E5_SHAREDEXP": {
      "GL_HALF_FLOAT": "LoadRGB16FToRGB9E5",
      "GL_UNSIGNED_INT_5_9_9_9_REV": "LoadToNative<GLuint, 1>",
      "GL_FLOAT": "LoadRGB32FToRGB9E5",
      "GL_HALF_FLOAT_OES": "LoadRGB16FToRGB9E5"
    }
  },
  "GL_COMPRESSED_R11_EAC": {
    "R8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadEACR11ToR8"
    }
  },
  "GL_RGBA32UI": {
    "R32G32B32A32_UINT": {
      "GL_UNSIGNED_INT": "LoadToNative<GLuint, 4>"
    }
  },
  "GL_RG8UI": {
    "R8G8_UINT": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 2>"
    }
  },
  "GL_LUMINANCE32F_EXT": {
    "NONE": {
      "GL_FLOAT": "LoadL32FToRGBA32F"
    }
  },
  "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2": {
    "R8G8B8A8_UNORM_SRGB": {
      "GL_UNSIGNED_BYTE": "LoadETC2SRGB8A1ToRGBA8"
    }
  },
  "GL_R16F": {
    "R16_FLOAT": {
      "GL_HALF_FLOAT": "LoadToNative<GLhalf, 1>",
      "GL_FLOAT": "Load32FTo16F<1>",
      "GL_HALF_FLOAT_OES": "LoadToNative<GLhalf, 1>"
    }
  },
  "GL_RGBA8UI": {
    "R8G8B8A8_UINT": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>"
    }
  },
  "GL_BGRA4_ANGLEX": {
    "NONE": {
      "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT": "LoadRGBA4ToRGBA8",
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>"
    }
  },
  "GL_RGBA16F": {
    "R16G16B16A16_FLOAT": {
      "GL_HALF_FLOAT": "LoadToNative<GLhalf, 4>",
      "GL_FLOAT": "Load32FTo16F<4>",
      "GL_HALF_FLOAT_OES": "LoadToNative<GLhalf, 4>"
    }
  },
  "GL_LUMINANCE8_EXT": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadL8ToRGBA8"
    }
  },
  "GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadCompressedToNative<4, 4, 16>"
    }
  },
  "GL_RGB": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnreachableLoadFunction",
      "GL_UNSIGNED_SHORT_5_6_5": "UnreachableLoadFunction"
    }
  },
  "GL_RGB5_A1": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_INT_2_10_10_10_REV": "LoadRGB10A2ToRGBA8",
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>",
      "GL_UNSIGNED_SHORT_5_5_5_1": "LoadRGB5A1ToRGBA8"
    },
    "B5G5R5A1_UNORM": {
      "GL_UNSIGNED_INT_2_10_10_10_REV": "LoadRGB10A2ToBGR5A1",
      "GL_UNSIGNED_BYTE": "LoadRGBA8ToBGR5A1",
      "GL_UNSIGNED_SHORT_5_5_5_1": "LoadRGB5A1ToA1RGB5"
    }
  },
  "GL_RGB16UI": {
    "R16G16B16A16_UINT": {
      "GL_UNSIGNED_SHORT": "LoadToNative3To4<GLushort, 0x0001>"
    }
  },
  "GL_BGRA_EXT": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnreachableLoadFunction"
    }
  },
  "GL_COMPRESSED_RGB8_ETC2": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadETC2RGB8ToRGBA8"
    }
  },
  "GL_RGBA32F": {
    "R32G32B32A32_FLOAT": {
      "GL_FLOAT": "LoadToNative<GLfloat, 4>"
    }
  },
  "GL_RGBA32I": {
    "R32G32B32A32_SINT": {
      "GL_INT": "LoadToNative<GLint, 4>"
    }
  },
  "GL_LUMINANCE8_ALPHA8_EXT": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadLA8ToRGBA8"
    }
  },
  "GL_RG8": {
    "R8G8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 2>"
    }
  },
  "GL_RGB10_A2": {
    "R10G10B10A2_UNORM": {
      "GL_UNSIGNED_INT_2_10_10_10_REV": "LoadToNative<GLuint, 1>"
    }
  },
  "GL_COMPRESSED_SIGNED_RG11_EAC": {
    "R8G8_SNORM": {
      "GL_UNSIGNED_BYTE": "LoadEACRG11SToRG8"
    }
  },
  "GL_DEPTH_COMPONENT16": {
    "D16_UNORM": {
      "GL_UNSIGNED_INT": "LoadR32ToR16",
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 1>"
    }
  },
  "GL_RGB32I": {
    "R32G32B32A32_SINT": {
      "GL_INT": "LoadToNative3To4<GLint, 0x00000001>"
    }
  },
  "GL_R8": {
    "R8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 1>"
    }
  },
  "GL_RGB32F": {
    "R32G32B32A32_FLOAT": {
      "GL_FLOAT": "LoadToNative3To4<GLfloat, gl::Float32One>"
    }
  },
  "GL_R11F_G11F_B10F": {
    "R11G11B10_FLOAT": {
      "GL_UNSIGNED_INT_10F_11F_11F_REV": "LoadToNative<GLuint, 1>",
      "GL_HALF_FLOAT": "LoadRGB16FToRG11B10F",
      "GL_FLOAT": "LoadRGB32FToRG11B10F",
      "GL_HALF_FLOAT_OES": "LoadRGB16FToRG11B10F"
    }
  },
  "GL_RGB8": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative3To4<GLubyte, 0xFF>"
    }
  },
  "GL_LUMINANCE_ALPHA": {
    "R16G16B16A16_FLOAT": {
      "GL_HALF_FLOAT": "LoadLA16FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadLA16FToRGBA16F"
    },
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnreachableLoadFunction"
    },
    "R32G32B32A32_FLOAT": {
      "GL_FLOAT": "LoadLA32FToRGBA32F"
    }
  },
  "GL_RGBA16I": {
    "R16G16B16A16_SINT": {
      "GL_SHORT": "LoadToNative<GLshort, 4>"
    }
  },
  "GL_R8I": {
    "R8_SINT": {
      "GL_BYTE": "LoadToNative<GLbyte, 1>"
    }
  },
  "GL_RGB8_SNORM": {
    "R8G8B8A8_SNORM": {
      "GL_BYTE": "LoadToNative3To4<GLbyte, 0x7F>"
    }
  },
  "GL_RG32F": {
    "R32G32_FLOAT": {
      "GL_FLOAT": "LoadToNative<GLfloat, 2>"
    }
  },
  "GL_DEPTH_COMPONENT32F": {
    "D32_FLOAT": {
      "GL_FLOAT": "LoadD32FToD32F"
    }
  },
  "GL_RG32I": {
    "R32G32_SINT": {
      "GL_INT": "LoadToNative<GLint, 2>"
    }
  },
  "GL_ALPHA8_EXT": {
    "A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 1>"
    },
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadA8ToRGBA8"
    }
  },
  "GL_RG32UI": {
    "R32G32_UINT": {
      "GL_UNSIGNED_INT": "LoadToNative<GLuint, 2>"
    }
  },
  "GL_RGBA16UI": {
    "R16G16B16A16_UINT": {
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 4>"
    }
  },
  "GL_COMPRESSED_RGBA8_ETC2_EAC": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadETC2RGBA8ToRGBA8"
    }
  },
  "GL_RGB8I": {
    "R8G8B8A8_SINT": {
      "GL_BYTE": "LoadToNative3To4<GLbyte, 0x01>"
    }
  },
  "GL_COMPRESSED_SRGB8_ETC2": {
    "R8G8B8A8_UNORM_SRGB": {
      "GL_UNSIGNED_BYTE": "LoadETC2SRGB8ToRGBA8"
    }
  },
  "GL_DEPTH32F_STENCIL8": {
    "D32_FLOAT_S8X24_UINT": {
      "GL_FLOAT_32_UNSIGNED_INT_24_8_REV": "LoadD32FS8X24ToD32FS8X24"
    }
  },
  "GL_RG8I": {
    "R8G8_SINT": {
      "GL_BYTE": "LoadToNative<GLbyte, 2>"
    }
  },
  "GL_R32UI": {
    "R32_UINT": {
      "GL_UNSIGNED_INT": "LoadToNative<GLuint, 1>"
    }
  },
  "GL_BGR5_A1_ANGLEX": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>",
      "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT": "LoadRGB5A1ToRGBA8"
    }
  },
  "GL_BGR565_ANGLEX": {
    "B5G6R5_UNORM": {
      "GL_UNSIGNED_SHORT_5_6_5": "LoadRGB565ToBGR565",
      "GL_UNSIGNED_BYTE": "LoadToNative<GLushort, 1>"
    }
  },
  "GL_COMPRESSED_RG11_EAC": {
    "R8G8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadEACRG11ToRG8"
    }
  },
  "GL_SRGB8_ALPHA8": {
    "R8G8B8A8_UNORM_SRGB": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>"
    }
  },
  "GL_LUMINANCE_ALPHA16F_EXT": {
    "NONE": {
      "GL_HALF_FLOAT": "LoadLA16FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadLA16FToRGBA16F"
    }
  },
  "GL_RGBA": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnreachableLoadFunction",
      "GL_UNSIGNED_SHORT_4_4_4_4": "UnreachableLoadFunction",
      "GL_UNSIGNED_SHORT_5_5_5_1": "UnreachableLoadFunction"
    }
  },
  "GL_DEPTH24_STENCIL8": {
    "D24_UNORM_S8_UINT": {
      "GL_UNSIGNED_INT_24_8": "LoadR32ToR24G8"
    }
  },
  "GL_RGB16I": {
    "R16G16B16A16_SINT": {
      "GL_SHORT": "LoadToNative3To4<GLshort, 0x0001>"
    }
  },
  "GL_R8UI": {
    "R8_UINT": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 1>"
    }
  },
  "GL_ALPHA": {
    "R16G16B16A16_FLOAT": {
      "GL_HALF_FLOAT": "LoadA16FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadA16FToRGBA16F"
    },
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnreachableLoadFunction"
    },
    "R32G32B32A32_FLOAT": {
      "GL_FLOAT": "LoadA32FToRGBA32F"
    }
  },
  "GL_RGB16F": {
    "R16G16B16A16_FLOAT": {
      "GL_HALF_FLOAT": "LoadToNative3To4<GLhalf, gl::Float16One>",
      "GL_FLOAT": "LoadRGB32FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadToNative3To4<GLhalf, gl::Float16One>"
    }
  },
  "GL_COMPRESSED_SIGNED_R11_EAC": {
    "R8_SNORM": {
      "GL_UNSIGNED_BYTE": "LoadEACR11SToR8"
    }
  },
  "GL_COMPRESSED_RGB_S3TC_DXT1_EXT": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadCompressedToNative<4, 4, 8>"
    }
  },
  "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadCompressedToNative<4, 4, 8>"
    }
  },
  "GL_STENCIL_INDEX8": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnimplementedLoadFunction"
    }
  },
  "GL_LUMINANCE_ALPHA32F_EXT": {
    "NONE": {
      "GL_FLOAT": "LoadLA32FToRGBA32F"
    }
  },
  "GL_RGB8UI": {
    "R8G8B8A8_UINT": {
      "GL_UNSIGNED_BYTE": "LoadToNative3To4<GLubyte, 0x01>"
    }
  },
  "GL_DEPTH_COMPONENT24": {
    "D24_UNORM_S8_UINT": {
      "GL_UNSIGNED_INT": "LoadR32ToR24G8"
    }
  },
  "GL_R32I": {
    "R32_SINT": {
      "GL_INT": "LoadToNative<GLint, 1>"
    }
  },
  "GL_DEPTH_COMPONENT32_OES": {
    "NONE": {
      "GL_UNSIGNED_INT": "LoadR32ToR24G8"
    }
  },
  "GL_R32F": {
    "R32_FLOAT": {
      "GL_FLOAT": "LoadToNative<GLfloat, 1>"
    }
  },
  "GL_RG16F": {
    "R16G16_FLOAT": {
      "GL_HALF_FLOAT": "LoadToNative<GLhalf, 2>",
      "GL_FLOAT": "Load32FTo16F<2>",
      "GL_HALF_FLOAT_OES": "LoadToNative<GLhalf, 2>"
    }
  },
  "GL_RGB565": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative3To4<GLubyte, 0xFF>",
      "GL_UNSIGNED_SHORT_5_6_5": "LoadR5G6B5ToRGBA8"
    },
    "B5G6R5_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadRGB8ToBGR565",
      "GL_UNSIGNED_SHORT_5_6_5": "LoadToNative<GLushort, 1>"
    }
  },
  "GL_LUMINANCE16F_EXT": {
    "NONE": {
      "GL_HALF_FLOAT": "LoadL16FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadL16FToRGBA16F"
    }
  },
  "GL_RG16UI": {
    "R16G16_UINT": {
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 2>"
    }
  },
  "GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadCompressedToNative<4, 4, 16>"
    }
  },
  "GL_RG16I": {
    "R16G16_SINT": {
      "GL_SHORT": "LoadToNative<GLshort, 2>"
    }
  },
  "GL_BGRA8_EXT": {
    "NONE": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>"
    }
  },
  "GL_ALPHA16F_EXT": {
    "NONE": {
      "GL_HALF_FLOAT": "LoadA16FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadA16FToRGBA16F"
    }
  },
  "GL_RGBA4": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>",
      "GL_UNSIGNED_SHORT_4_4_4_4": "LoadRGBA4ToRGBA8"
    },
    "B4G4R4A4_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadRGBA8ToBGRA4",
      "GL_UNSIGNED_SHORT_4_4_4_4": "LoadRGBA4ToARGB4"
    }
  },
  "GL_RGBA8": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadToNative<GLubyte, 4>"
    }
  },
  "GL_LUMINANCE": {
    "R16G16B16A16_FLOAT": {
      "GL_HALF_FLOAT": "LoadL16FToRGBA16F",
      "GL_HALF_FLOAT_OES": "LoadL16FToRGBA16F"
    },
    "NONE": {
      "GL_UNSIGNED_BYTE": "UnreachableLoadFunction"
    },
    "R32G32B32A32_FLOAT": {
      "GL_FLOAT": "LoadL32FToRGBA32F"
    }
  },
  "GL_RGB10_A2UI": {
    "R10G10B10A2_UINT": {
      "GL_UNSIGNED_INT_2_10_10_10_REV": "LoadToNative<GLuint, 1>"
    }
  },
  "GL_ETC1_RGB8_OES": {
    "R8G8B8A8_UNORM": {
      "GL_UNSIGNED_BYTE": "LoadETC1RGB8ToRGBA8"
    }
  },
  "GL_ETC1_RGB8_LOSSY_DECODE_ANGLE": {
    "BC1_RGB_UNORM_BLOCK": {
      "GL_UNSIGNED_BYTE": "LoadETC1RGB8ToBC1"
    }
  },
  "GL_R16_EXT": {
    "R16_UNORM": {
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 1>"
    }
  },
  "GL_RG16_EXT": {
    "R16G16_UNORM": {
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 2>"
    }
  },
  "GL_RGB16_EXT": {
    "R16G16B16A16_UNORM": {
      "GL_UNSIGNED_SHORT": "LoadToNative3To4<GLushort, 0xFFFF>"
    }
  },
  "GL_RGBA16_EXT": {
    "R16G16B16A16_UNORM": {
      "GL_UNSIGNED_SHORT": "LoadToNative<GLushort, 4>"
    }
  },
  "GL_R16_SNORM_EXT": {
    "R16_SNORM": {
      "GL_SHORT": "LoadToNative<GLushort, 1>"
    }
  },
  "GL_RG16_SNORM_EXT": {
    "R16G16_SNORM": {
      "GL_SHORT": "LoadToNative<GLushort, 2>"
    }
  },
  "GL_RGB16_SNORM_EXT": {
    "R16G16B16A16_SNORM": {
      "GL_SHORT": "LoadToNative3To4<GLushort, 0x7FFF>"
    }
  },
  "GL_RGBA16_SNORM_EXT": {
    "R16G16B16A16_SNORM": {
      "GL_SHORT": "LoadToNative<GLushort, 4>"
    }
  }
}
